// Code generated by MockGen. DO NOT EDIT.
// Source: ../mtls/types.go

// Package mock is a generated GoMock package.
package mock

import (
	x509 "crypto/x509"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	v2 "mosn.io/mosn/pkg/config/v2"
	mtls "mosn.io/mosn/pkg/mtls"
	tls "mosn.io/mosn/pkg/mtls/crypto/tls"
	types "mosn.io/mosn/pkg/types"
)

// MockConfigHooks is a mock of ConfigHooks interface.
type MockConfigHooks struct {
	ctrl     *gomock.Controller
	recorder *MockConfigHooksMockRecorder
}

// MockConfigHooksMockRecorder is the mock recorder for MockConfigHooks.
type MockConfigHooksMockRecorder struct {
	mock *MockConfigHooks
}

// NewMockConfigHooks creates a new mock instance.
func NewMockConfigHooks(ctrl *gomock.Controller) *MockConfigHooks {
	mock := &MockConfigHooks{ctrl: ctrl}
	mock.recorder = &MockConfigHooksMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockConfigHooks) EXPECT() *MockConfigHooksMockRecorder {
	return m.recorder
}

// ClientHandshakeVerify mocks base method.
func (m *MockConfigHooks) ClientHandshakeVerify(cfg *tls.Config) func([][]byte, [][]*x509.Certificate) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClientHandshakeVerify", cfg)
	ret0, _ := ret[0].(func([][]byte, [][]*x509.Certificate) error)
	return ret0
}

// ClientHandshakeVerify indicates an expected call of ClientHandshakeVerify.
func (mr *MockConfigHooksMockRecorder) ClientHandshakeVerify(cfg interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClientHandshakeVerify", reflect.TypeOf((*MockConfigHooks)(nil).ClientHandshakeVerify), cfg)
}

// GenerateHashValue mocks base method.
func (m *MockConfigHooks) GenerateHashValue(cfg *tls.Config) *types.HashValue {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GenerateHashValue", cfg)
	ret0, _ := ret[0].(*types.HashValue)
	return ret0
}

// GenerateHashValue indicates an expected call of GenerateHashValue.
func (mr *MockConfigHooksMockRecorder) GenerateHashValue(cfg interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenerateHashValue", reflect.TypeOf((*MockConfigHooks)(nil).GenerateHashValue), cfg)
}

// GetCertificate mocks base method.
func (m *MockConfigHooks) GetCertificate(certIndex, keyIndex string) (tls.Certificate, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCertificate", certIndex, keyIndex)
	ret0, _ := ret[0].(tls.Certificate)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetCertificate indicates an expected call of GetCertificate.
func (mr *MockConfigHooksMockRecorder) GetCertificate(certIndex, keyIndex interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificate", reflect.TypeOf((*MockConfigHooks)(nil).GetCertificate), certIndex, keyIndex)
}

// GetClientAuth mocks base method.
func (m *MockConfigHooks) GetClientAuth(cfg *v2.TLSConfig) tls.ClientAuthType {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetClientAuth", cfg)
	ret0, _ := ret[0].(tls.ClientAuthType)
	return ret0
}

// GetClientAuth indicates an expected call of GetClientAuth.
func (mr *MockConfigHooksMockRecorder) GetClientAuth(cfg interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClientAuth", reflect.TypeOf((*MockConfigHooks)(nil).GetClientAuth), cfg)
}

// GetX509Pool mocks base method.
func (m *MockConfigHooks) GetX509Pool(caIndex string) (*x509.CertPool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetX509Pool", caIndex)
	ret0, _ := ret[0].(*x509.CertPool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetX509Pool indicates an expected call of GetX509Pool.
func (mr *MockConfigHooksMockRecorder) GetX509Pool(caIndex interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetX509Pool", reflect.TypeOf((*MockConfigHooks)(nil).GetX509Pool), caIndex)
}

// ServerHandshakeVerify mocks base method.
func (m *MockConfigHooks) ServerHandshakeVerify(cfg *tls.Config) func([][]byte, [][]*x509.Certificate) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ServerHandshakeVerify", cfg)
	ret0, _ := ret[0].(func([][]byte, [][]*x509.Certificate) error)
	return ret0
}

// ServerHandshakeVerify indicates an expected call of ServerHandshakeVerify.
func (mr *MockConfigHooksMockRecorder) ServerHandshakeVerify(cfg interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ServerHandshakeVerify", reflect.TypeOf((*MockConfigHooks)(nil).ServerHandshakeVerify), cfg)
}

// MockConfigHooksFactory is a mock of ConfigHooksFactory interface.
type MockConfigHooksFactory struct {
	ctrl     *gomock.Controller
	recorder *MockConfigHooksFactoryMockRecorder
}

// MockConfigHooksFactoryMockRecorder is the mock recorder for MockConfigHooksFactory.
type MockConfigHooksFactoryMockRecorder struct {
	mock *MockConfigHooksFactory
}

// NewMockConfigHooksFactory creates a new mock instance.
func NewMockConfigHooksFactory(ctrl *gomock.Controller) *MockConfigHooksFactory {
	mock := &MockConfigHooksFactory{ctrl: ctrl}
	mock.recorder = &MockConfigHooksFactoryMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockConfigHooksFactory) EXPECT() *MockConfigHooksFactoryMockRecorder {
	return m.recorder
}

// CreateConfigHooks mocks base method.
func (m *MockConfigHooksFactory) CreateConfigHooks(config map[string]interface{}) mtls.ConfigHooks {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateConfigHooks", config)
	ret0, _ := ret[0].(mtls.ConfigHooks)
	return ret0
}

// CreateConfigHooks indicates an expected call of CreateConfigHooks.
func (mr *MockConfigHooksFactoryMockRecorder) CreateConfigHooks(config interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateConfigHooks", reflect.TypeOf((*MockConfigHooksFactory)(nil).CreateConfigHooks), config)
}
